【New!】Amazon SageMaker Studioでアイドル状態のアプリケーションを自動シャットダウンできるようになりました

【New!】Amazon SageMaker Studioでアイドル状態のアプリケーションを自動シャットダウンできるようになりました

Clock Icon2024.09.26

こんにちは。まるとです。突然ですが、Amazon SageMaker Studio 使っていますか?
自身は個人で使う機会があり、検証用アカウントで触ったことがあります。

機械学習関連のサービスでは、一般的に高いスペックのインスタンスタイプが求められることが多いです。
注意点として、アイドル状態に関わらずインスタンスを停止し忘れると、予期せぬ課金が発生する可能性があります。

そこで、嬉しいお知らせです。
現地時間2024/9/23にアイドル状態で一定期間経過後にアプリケーションを自動でシャットダウンする機能が追加されました!

https://aws.amazon.com/jp/about-aws/whats-new/2024/09/amazon-sagemaker-studio-automatic-shutdown-idle-applications/

この設定はドメインレベルで設定を行うことができ、管理者側にも嬉しい機能です。(設定を行えばユーザ側で個別に自動シャットダウンまでの時間を指定することもできます。)

各種要件

実際に設定をする前に、自動シャットダウンができる要件について説明します。
要件については次のドキュメントに記載されています。

https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-idle-shutdown.html

本ドキュメントを確認すると

  • Amazon SageMaker Distributionのイメージバージョンが 2.0以上
  • JupyterLab または Code Editor

かつアイドル状態の定義は以下のようになっています。

JupyterLabの場合

  • アクティブなJupyter カーネル セッションが存在しない
  • アクティブなJupyter ターミナルセッションが存在しない

Code Editorの場合

  • テキストファイルやノートブックの変更が存在しない
  • 閲覧中のファイルがない
  • ターミナルとの対話がない
  • バックグランドプロセスが存在しない
  • ノートブックカーネルが処理中でない
  • 未保存の作業が存在しないこと

以上が自動シャットダウンの要件となっています。
特にCode Editorの場合、未保存の作業が存在しないことが要件となるため、作業後に放置しているだけでは自動シャットダウンされない点に注意が必要です。

設定してみよう!

では実際に自動シャットダウンを設定してみたいと思います。
Amazon SageMakerのサイドバー「管理者設定 > ドメイン」を選択し、自動シャットダウンを設定したいドメインを選択します。

ma-8-1

続いて、「アプリケーション設定」タブを選択し、下にスクロールしていくとJupyterLabとCode Editorの項目が存在します。
画面上でも確認できるように、「アイドルシャットダウン設定」という項目がございます。

今回はJupyterLabに対して、アイドルシャットダウンを設定します。
JupyterLabの右にある「編集」ボタンを押下します。

ma-8-2

ms-8-3

設定を編集できる画面で「アイドルシャットダウンを有効にする」をオンにし、デフォルトのアイドルシャットダウン時間を指定します。
今回は最小値である60分を指定して、「送信」ボタンを押下して設定を保存します。

ma-8-4

この設定を行うことで、スペースの設定にアイドル時の自動シャットダウンまでの時間が表示されるようになります。
※ユーザに設定変更を許可している場合は、値を変更できるようになります。

ma-8-7

設定後は、JupyterLabがインストールされたインスタンスを立ち上げ、指定した時間(例: 60分)放置して、自動シャットダウンが機能するか確認してみましょう。

ma-8-5

設定した時間が経過すると、自動でシャットダウンが行われました。

ma-8-6

終わりに

実際に60分ほど待って、使っていないインスタンスを自動停止することができました。
これにより、意図しない課金を防ぐ手助けになることを期待しています。
管理者側でドメイン単位の一括設定もできるので、運用側も嬉しい機能だと改めて実感しました。

一方で、自動シャットダウンにはいくつかの要件があるため、完全な解決策ではなく、補助的な機能として利用することが望ましいです。

今回の記事は以上となります。お読みいただきありがとうございました。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.